//定义store
import {defineStore} from "pinia";
import {ref} from "vue";
import dayjs from "dayjs";

// 第一个参数：名字 唯一性
//第二个参数：函数 函数内部可以定义状态的所有内容
export const useInfoStore = defineStore("info", ()=>{
    //响应式变量
    const info = ref([])

    // 添加消息（自动添加唯一标识）
    const setInfo = (newInfo) => {
        if( info.value.findIndex(item => item.id === newInfo.id)===-1){
            info.value.push({
                ...newInfo
            })
        }

    }
    const clearInfo = () => {
        info.value = []
    }

    // 安全删除方法
    const removeInfo = (id) => {
        const index = info.value.findIndex(item => item.id === id)
        if (index !== -1) {
            info.value.splice(index, 1)
        }
    }


    return{
        info,setInfo,removeInfo,clearInfo
    }
},{
    persist:true   //持久化存储
})